Images encoded by means of a Variable Length Code (VLC), e.g. JPEG images, are cumbersome and time consuming to manipulate. In cases where you only are interested of viewing or manipulating a portion of the image or retrieve the image or partitions of it in a smaller scale (not requiring all VLC codes to be processed within the desired area) this is even more evident. In order to speed up such processes techniques involving indexing of the positions of Data Units (DUs) or Minimum Coded Units (MCUs) in the image has been suggested in order to enable quick access to elements within the image without the need of decoding all image data. In some applications this is referred to as random access of the image. The position may be stored as a absolute position or a relative position, i.e. relative to the position of the previous DU or MCU. In a JPEG image the DU represents a bit stream of an 8×8 block of one color channel, while an MCU usually consists of several DU's from multiple channels. The length of a DU or MCU are dependent on the content within the blocks they represent, the more information there is in the block, the more bits the DU or MCU will be.
However, storing the relative position of all DUs, e.g. the length of each DU, in the index requires quite much storage capacity as the lengths may require up to 12-bits per DU. Meaning that a 5 mega pixel image in YUV422 format would require 2560*1920/16/8*4*12/8=230 kb.